草庐IT

iOS API-sizeThatFits : does not work

全部标签

iOS API-sizeThatFits : does not work

更新:对不起,我之前描述的不够和不正确。我做了一些这样的代码:UIView*view=[[UIViewalloc]initWithFrame:someFrame];CGSizesize=[viewsizeThatFits:CGSizeMake(100,100)];但是当我观察size时,它什么也没有:{0,0}。我用错了吗?即使我将初始帧传递给我的View,尺寸仍然没有返回任何内容。我搜索了一些帖子,有人说UILabel也可能受到影响。 最佳答案 您的View不包含任何内容,也没有任何固有的内容大小,因此它的大小为零。试试这些,你会

ios - UILabel sizeThatFits 不工作

我正在尝试计算UITableViewCell的高度,所以我定义了一个看起来像这样的类方法+(CGFloat)heightWithText:(NSString*)text{SizingLabel.text=text;[SizingLabelsizeThatFits:CGSizeMake(LABEL_WIDTH,CGFLOAT_MAX)];return(TOP_MARGIN+SizingLabel.frame.size.height+BOTTOM_MARGIN);}我这样定义SizingLabel:+(void)initialize{SizingLabel=[[UILabelalloc]i

ios - sizeThatFits on view with constraints (auto layout view inside frame layout view)

通过在layoutSubviews中计算和设置它们的框架来查看其subview的布局。ViewB使用约束来布局它的subview。ViewA包含多个ViewB实例。ViewA在布局subview时需要知道其subview的大小,因此它在它们上调用sizeThatFits:。ViewB的高度取决于它的宽度。在我的示例中,它内部有一个多行UILabel。B应该如何实现它的sizeThatFits:以便它返回正确的大小,同时将size参数传递给sizeThatFits:和帐户中的约束条件?到目前为止我已经尝试/考虑过的:systemLayoutSizeFittingSize:-不起作用,因为

iphone - 如何让 layoutSubviews 在 sizeThatFits 之前被调用?

当我在我的一个View上调用sizeToFit时,我注意到iOS框架首先调用sizeThatFits,然后在该View上调用layoutSubviews。这对我来说是有问题的,因为我的sizeThatFits中的计算取决于我的layoutSubviews的结果。在下面的示例中,subview在layoutSubviews中得到调整,并且此subview的高度在sizeThatFits中使用。目前我的代码无法正常工作,顺序已颠倒。在我的ViewController的viewDidLoad中:UIView*header=[[MyHeaderalloc]init];[headersizeTo

ios - 如何在 Swift 中使用 sizeThatFits?

我有一个TextView和一个像这样的Viewletlb=UITextView()letview=UIView()background_img_view.addSubview(about_txt)lb没有固定的高度,可以是30或300px,如何使用sizeThatFits来调整background_img_view的高度取决于lb的? 最佳答案 试试这个://GetthewidthyouwanttofitletfixedWidth=textView.frame.size.width//Calculatethebiggestsizet

iOS 8 sizeThatFits for UITextView 文本不返回正确的高度(AutoLayout)

我正在尝试使用从sizeThatFits检索到的适当高度使UITextView垂直居中。有大量其他答案表明这是最合适的计算方法。(请注意,我已经对普通字符串和属性字符串都进行了尝试,并且都表现出相同的行为)。无论我尝试什么(甚至使用属性字符串并将字体大小或行高设置为更大或更小)它总是只显示一定数量的文本字符截断(在这种情况下,3行,并且它总是完全相同的)。我错过了什么?_textView.text=[_collectionDescriptionlowercaseString];_textView.font=[UIFontfontLight:22];_textView.textColor

iOS 8 sizeThatFits for UITextView 文本不返回正确的高度(AutoLayout)

我正在尝试使用从sizeThatFits检索到的适当高度使UITextView垂直居中。有大量其他答案表明这是最合适的计算方法。(请注意,我已经对普通字符串和属性字符串都进行了尝试,并且都表现出相同的行为)。无论我尝试什么(甚至使用属性字符串并将字体大小或行高设置为更大或更小)它总是只显示一定数量的文本字符截断(在这种情况下,3行,并且它总是完全相同的)。我错过了什么?_textView.text=[_collectionDescriptionlowercaseString];_textView.font=[UIFontfontLight:22];_textView.textColor

ios - 自定义 UINavigationBar sizeThatFits 实现不返回真实的 frame.size.width

我正在尝试使用定义的高度子类化UINavigationBar并尝试实现sizeThatFits方法:@implementationNavigationBar-(CGSize)sizeThatFits:(CGSize)size{NSLog(@"frame:%@",NSStringFromCGRect(self.frame));returnCGSizeMake(self.frame.size.width,62);}@end但显然self.frame.size.width总是返回一个奇怪的值,它不是我想要的1024,它导致了下面显示的行为:NSLog输出:>frame:{{224,20},{

ios - 需要一种更快的方法来计算 UILabel sizeThatFits

我对布局有一些非常具体的要求,这迫使我创建一堆UILabel,使用sizeThatFits并相应地定位它们。然后将这些标签放置在UITableView的每个单元格中。单元格的高度由标签的大小决定。生成每个单元格时,花费的时间是可以接受的。当我向表中添加新数据时,问题就来了。由于单元格高度取决于标签,我目前所做的是为单元格创建标签并测量结果高度。当我添加20个左右的新对象时,事情会变慢,因为tableView:heightForRowAtIndexPath:会同时调用所有新对象。这种方法的第二个问题是,由于它使用了一堆UILabel,它必须在主线程上运行,所以事先进行计算并不是一个真正的

ios - 简单地调用 UITextView `sizeThatFits:` 会导致滚动/输入行为出现故障吗?

我发现在iOS8中使用UITextViewsizeThatFits:会导致出现故障的滚动行为。TextView不断滚动远离您正在键入的行。它似乎滚动到View的顶部,然后又返回。如果重要,View设置为inputAccessoryView.我将通过键盘输入:1return2return3return4TextView在我输入4之前的那一刻:在委托(delegate)方法中,我调用了sizeThatFits:。-(void)textViewDidChange:(UITextView*)textView{[textViewsizeThatFits:CGSizeMake(100,100)];
12